Programmable Logic Devices (PLD) are integrated circuit devices with logic that is customizable by a user. To customize a PLD, the PLD is loaded with configuration information, which may be stored in a flash memory chip, disk drive, or other storage device in the system. Upon power-up, the configuration data is loaded from the flash memory chip, or other storage device, into Configuration Random-Access Memory (CRAM) cells in the PLD. The output of each CRAM cell is either a logic high or a logic low signal, depending on the value of the programming data bit stored within the CRAM cell. The output signal from each CRAM cell may be used to control a corresponding circuit element. The circuit element may be a pass gate transistor, a transistor in a logic component (such as a multiplexer or demultiplexer), a transistor in a look-up table, a programmable circuit element in a suitable configurable logic circuit, etc.
When the gate of an N-channel Metal-Oxide-Semiconductor (NMOS) transistor, being controlled by a CRAM cell, is driven high (because the CRAM cell contains a logic “one”), the transistor is turned on so that signals can pass between the drain and source terminals of the transistor. When the gate of the NMOS transistor is driven low (because the CRAM cell contains a logic “zero”), the transistor is turned off. In this way, the transistors on the programmable logic device can be configured, enabling the functionality of the logic in the PLD. The gate of a P-channel Metal-Oxide-Semiconductor (PMOS) transistor may similarly be turned on/off.
Zeroization is a process to erase sensitive data, such as the configuration information, from an electronic module. Zeroization is usually performed to prevent disclosure of the sensitive data if the electronic module is captured or compromised. Some PLD manufacturers offer zeroization of their PLD's in response to the increasing concern of counterfeiting and technology theft. Existing zeroization processes use software-based methodology, need external components, take a long time to complete, and are considered unreliable for users concerned with tampering.
It is in this context that embodiments arise.